<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回顾Object.defineproperty方法</title>
</head>
<body>
<script type="text/javascript">
    let number = 18
    let person ={
        name:"李四",
        sex:"男"
    }

    //通过Object.defineProperty方法动态设置属性赋值，不可遍历设置的属性
    Object.defineProperty(person,"age",{
        // value:20,
        // enumerable:true,//控制属性是否可被枚举，默认是false是无法被枚举
        // writable:true,//控制属性的值是否可被修改，默认是false是无法被修改的
        // configurable:true//控制属性是否可以被删除，默认是false是无法被删除的
        //当要获取age值时，get函数就会被调用，返回的值就是age的值
        get:function(){//可简写为get(){}
            console.log('有人获取了age属性')
            return number
        },
        //当要获取age值时，get函数就会被调用，返回的值就是age的值
        set:function (value){
            console.log('有人给age属性赋值,值为：',value)
            number = value
        }
    })
    console.log(person)
</script>
</body>
</html>
</body>
</html>